home *** CD-ROM | disk | FTP | other *** search
/ Aminet 28 / Aminet 28 (1998)(GTI - Schatztruhe)[!][Dec 1998].iso / Aminet / dev / src / GLperf3.12-src.lha / GLperf / Attr.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-08-01  |  2.3 KB  |  67 lines

  1. /*
  2.  *   (C) COPYRIGHT International Business Machines Corp. 1993
  3.  *   All Rights Reserved
  4.  *   Licensed Materials - Property of IBM
  5.  *   US Government Users Restricted Rights - Use, duplication or
  6.  *   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  7.  
  8. //
  9. // Permission to use, copy, modify, and distribute this software and its
  10. // documentation for any purpose and without fee is hereby granted, provided
  11. // that the above copyright notice appear in all copies and that both that
  12. // copyright notice and this permission notice appear in supporting
  13. // documentation, and that the name of I.B.M. not be used in advertising
  14. // or publicity pertaining to distribution of the software without specific,
  15. // written prior permission. I.B.M. makes no representations about the
  16. // suitability of this software for any purpose.  It is provided "as is"
  17. // without express or implied warranty.
  18. //
  19. // I.B.M. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
  20. // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL I.B.M.
  21. // BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  22. // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
  23. // OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
  24. // CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  25. //
  26. // Author:  John Spitzer, IBM AWS Graphics Systems (Austin)
  27. //
  28. */
  29.  
  30. #ifndef _Attr_h
  31. #define _Attr_h
  32.  
  33. #include "Global.h"
  34. #include "AttrName.h"
  35. #include "Printf.h"
  36. #ifdef WIN32
  37. #include <windows.h>
  38. #endif
  39. #include <GL/gl.h>
  40.  
  41. typedef struct _Attribute {
  42.     int type; 
  43.     union {
  44.     int i;
  45.     GLfloat f;
  46.     unsigned u;
  47.     char* s;
  48.     PrintfStringPtr ps;
  49.     } value;
  50.     int linenum;
  51. } Attribute, *AttributePtr;
  52.  
  53. AttributePtr new_Attribute_Int(int);
  54. AttributePtr new_Attribute_Float(GLfloat);
  55. AttributePtr new_Attribute_String(char*);
  56. AttributePtr new_Attribute_PrintfString(PrintfStringPtr);
  57. void delete_Attribute(AttributePtr);
  58. AttributePtr Attribute__Copy(AttributePtr);
  59. int Attribute__IntOf(AttributePtr, int*);
  60. int Attribute__FloatOf(AttributePtr, GLfloat*);
  61. int Attribute__StringOf(AttributePtr, char**);
  62. int Attribute__PrintfStringOf(AttributePtr, PrintfStringPtr*);
  63. void Attribute__SetLineNum(AttributePtr, int);
  64. int Attribute__GetLineNum(AttributePtr);
  65.  
  66. #endif
  67.